namespace SmartMathLibrary.Transformation
{
    /// <summary>
    /// Interface to implement a SixParameterTransformationParameters class.
    /// </summary>
    public interface ISixParameterTransformationParameters
    {
        /// <summary>
        /// Gets or sets the rotation factor for the x axis.
        /// </summary>
        /// <value>The rotation factor for the x axis.</value>
        double RotationX { get; set; }

        /// <summary>
        /// Gets or sets the rotation factor for the y axis.
        /// </summary>
        /// <value>The rotation factor for the y axis.</value>
        double RotationY { get; set; }

        /// <summary>
        /// Gets or sets the rotation factor for the z axis.
        /// </summary>
        /// <value>The rotation factor for the z axis.</value>
        double RotationZ { get; set; }

        /// <summary>
        /// Gets or sets the translation value for the x axis.
        /// </summary>
        /// <value>The translation value for the x axis.</value>
        double TranslationX { get; set; }

        /// <summary>
        /// Gets or sets the translation value for the y axis.
        /// </summary>
        /// <value>The translation value for the y axis.</value>
        double TranslationY { get; set; }

        /// <summary>
        /// Gets or sets the translation value for the z axis.
        /// </summary>
        /// <value>The translation value for the z axis.</value>
        double TranslationZ { get; set; }
    }
}